<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
  <style type="text/css">
    body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
  </style>
  <script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=DyWu5yeHP1g2w34C0xoIvNQxnwsFnDjr"></script>
  <title>测距</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
  // 百度地图API功能
  var map = new BMap.Map("allmap");
  map.centerAndZoom("眉山",12);  //初始化地图,设置城市和地图级别。


  var geolocation = new BMap.Geolocation();
  geolocation.getCurrentPosition(function(r){
    if(this.getStatus() == BMAP_STATUS_SUCCESS){
      var mk = new BMap.Marker(r.point);
      var pointA = new BMap.Point(r.point.lng,r.point.lat);  // 创建点坐标A--大渡口区
      var pointB = new BMap.Point(106.581515,29.615467);  // 创建点坐标B--江北区
      alert('从大渡口区到江北区的距离是：'+(map.getDistance(pointA,pointB)).toFixed(2)+' 米。');  //获取两点距离,保留小数点后两位
      var polyline = new BMap.Polyline([pointA,pointB], {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5});  //定义折线
      map.addOverlay(polyline);     //添加折线到地图上

      map.panTo(r.point);
    }
    else {
      alert('failed'+this.getStatus());
    }
  },{enableHighAccuracy: true})
  //关于状态码
  //BMAP_STATUS_SUCCESS	检索成功。对应数值“0”。
  //BMAP_STATUS_CITY_LIST	城市列表。对应数值“1”。
  //BMAP_STATUS_UNKNOWN_LOCATION	位置结果未知。对应数值“2”。
  //BMAP_STATUS_UNKNOWN_ROUTE	导航结果未知。对应数值“3”。
  //BMAP_STATUS_INVALID_KEY	非法密钥。对应数值“4”。
  //BMAP_STATUS_INVALID_REQUEST	非法请求。对应数值“5”。
  //BMAP_STATUS_PERMISSION_DENIED	没有权限。对应数值“6”。(自 1.1 新增)
  //BMAP_STATUS_SERVICE_UNAVAILABLE	服务不可用。对应数值“7”。(自 1.1 新增)
  //BMAP_STATUS_TIMEOUT	超时。对应数值“8”。(自 1.1 新增)
</script>
